home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / utils / wnx1091.lzh / XES_C.S < prev    next >
Text File  |  1991-10-15  |  5KB  |  297 lines

  1. ********************************************************************************
  2.     XDEF    _xesffff,_xes0000,_xes01,_xes02
  3.     XDEF    _xes04,_xes38,_xes39,_xes40
  4.     XDEF    _xes41,_xes42,_xes43
  5.     XDEF    _xes50,_xes64,_xes65
  6. ********************************************************************************
  7.         RSRESET
  8. W_id        rs.w    1            WNX id
  9. W_idname    rs.b    16            WNX unique name
  10. W_apid        rs.w    1            ap id of parent
  11. W_grafhandle    rs.w    1            graf handle of parent
  12. W_global    rs.l    1            ptr to parent's global array
  13. W_vdiparams    rs.l    1            ptr to parent's VDI_PARAMS
  14. W_aesparams    rs.l    1            ptr to parent's AES_PARAMS
  15. W_messagebuf    rs.l    1            ptr to message buffer
  16. W_in        rs.w    8            input stuff
  17. W_out        rs.w    8            output stuff
  18. W_flags        rs.w    1            flags for event handling
  19. W_link        rs.l    1            address to resume execution at
  20. W_tcount    rs.w    1            timer count (in 20ms)
  21. W_troutine    rs.l    1            address of timer handler
  22. W_mroutine    rs.l    1            address of message handler
  23. W_broutine    rs.l    1            address of button handler
  24. W_kroutine    rs.l    1            address of keyboard handler
  25. W_rroutine    rs.l    1            address of wm_redraw handler
  26. W_termroutine    rs.l    1            address of termination handler
  27.  
  28. * TOTAL = 102 bytes for a parmblk.
  29. ********************************************************************************
  30.  
  31.     SECTION TEXT
  32. _xesffff
  33. *     xes_submit(&parmblk)
  34. *
  35.         move.l    (sp)+,_rts5
  36.  
  37.         move.w    #-1,-(sp)
  38.         move.w    #-1,-(sp)
  39.         trap    #5
  40.         subq.l    #4,sp
  41.  
  42.         move.l    _rts5,-(sp)
  43.         rts
  44.  
  45. _xes0000
  46. *    xes_init(&parmblk)
  47. *
  48.         move.l    (sp)+,_rts5
  49.     
  50.         move.w    #0,-(sp)
  51.         trap    #5
  52.         subq.l    #4,sp
  53.         
  54.         move.l    _rts5,-(sp)
  55.  
  56.         rts
  57.  
  58. _xes01
  59. * this is the new 8/21/91 xes_rsrcinit.  Should add support for
  60. * already fixed up .RSCs, etc.  This is going to be tough.
  61. *
  62. *     xes_rsrcinit(fixflag,scaleflag,&resource,&parmblk)
  63. *
  64.         move.l    (sp)+,_rts5
  65.  
  66.         movem.l    (sp)+,d0-d1        d0 = fixflag | scaleflag
  67. *                        d1 = &resource
  68.         
  69.         move.l    (sp),a0
  70.         movem.l    d0-d1,W_in(a0)
  71.  
  72.         move.w    #1,-(sp)
  73.         move.w    #-1,-(sp)
  74.         trap    #5
  75.         lea    -12(sp),sp
  76.  
  77.         move.l    _rts5,-(sp)
  78.  
  79.         rts
  80.  
  81.  
  82. _xes02    
  83. *    xes_sibling(&string,&parmblk)
  84. *
  85.         move.l    (sp)+,_rts5
  86.  
  87.         move.l    (sp)+,d0        d0 = &string
  88.  
  89.         move.l    (sp),a0            a0 = &parmblk
  90.         move.l    d0,W_in(a0)        *parmblk = &string
  91.         
  92.         move.w    #2,-(sp)
  93.         move.w    #-1,-(sp)
  94.         trap    #5
  95.         subq.l    #8,sp
  96.         
  97.         move.l    _rts5,-(sp)
  98.         
  99.         rts
  100.  
  101.  
  102. _xes04
  103. *    xes_mesagwrite(&message,length,&recipientlist,&parmblk)
  104. *
  105.         move.l    (sp)+,_rts5
  106.         
  107.         move.l    (sp)+,d2        d2 = WNX_in+6
  108.         move.w    (sp)+,d1        d1 = WNX_in+4
  109.         move.l    (sp)+,d0        d0 = WNX_in+0
  110.         
  111.         move.l    (sp),a0
  112.         move.l    d0,W_in(a0)
  113.         move.w    d1,W_in+4(a0)
  114.         move.l    d2,W_in+6(a0)
  115.  
  116.         move.w    #4,-(sp)
  117.         move.w    #-1,-(sp)
  118.         trap    #5
  119.         lea    -14(sp),sp
  120.         
  121.         move.l    _rts5,-(sp)
  122.  
  123.         rts
  124.  
  125.  
  126. _xes38
  127. *    xes_malloc(amount,&parmblk)
  128. *
  129.         move.l    (sp)+,_rts5
  130.         
  131.         move.l    (sp)+,d0        d0 = amount
  132.  
  133.         move.l    (sp),a0            a0 = &parmblk
  134.         move.l    d0,W_in(a0)        *parmblk = d0
  135.         
  136.         move.w    #38,-(sp)
  137.         move.w    #-1,-(sp)
  138.         trap    #5
  139.         subq.l    #8,sp
  140.                 
  141.         move.l    _rts5,-(sp)
  142.         
  143.         rts
  144.  
  145.  
  146. _xes39
  147. *    xes_flush(&parmblk)
  148. *
  149.         move.l    (sp)+,_rts5    
  150.         
  151.         move.w    #39,-(sp)
  152.         move.w    #-1,-(sp)
  153.         trap    #5
  154.         subq.l    #4,sp        we never get here
  155.         
  156.         move.l    _rts5,-(sp)
  157.  
  158.         rts
  159.  
  160.  
  161. _xes40    
  162. *    xes_genv(&parmblk)
  163. *
  164.         move.l    (sp)+,_rts5
  165.         
  166.         move.w    #40,-(sp)
  167.         move.w    #-1,-(sp)
  168.         trap    #5
  169.         subq.l    #4,sp
  170.         
  171.         move.l    _rts5,-(sp)
  172.  
  173.         rts
  174.  
  175.  
  176. _xes41
  177. *    xes_pwindow(&parmblk)
  178. *
  179.         move.l    (sp)+,_rts5
  180.  
  181.         move.w    #41,-(sp)
  182.         move.w    #-1,-(sp)
  183.         trap    #5
  184.         subq.l    #4,sp
  185.         
  186.         move.l    _rts5,-(sp)
  187.         
  188.         rts
  189.  
  190.  
  191. _xes42
  192. *     xes_draw(startindex,endindex,&parmblk)
  193. *
  194.         move.l    (sp)+,_rts5
  195.         
  196.         movem.w    (sp)+,d0-d1
  197.         
  198.         move.l    (sp),a0
  199.         movem.w    d0-d1,W_in(a0)
  200.         
  201.         move.w    #42,-(sp)
  202.         move.w    #-1,-(sp)
  203.         trap    #5
  204.         subq.l    #8,sp
  205.  
  206.         move.l    _rts5,-(sp)
  207.         
  208.         rts
  209.  
  210.  
  211. _xes43
  212. *    xes_redraw(handle,aflag,&resource,dflag,&parmblk)
  213. *
  214.         move.l    (sp)+,_rts5
  215.  
  216.         movem.l    (sp)+,d0-d1        d0 = handle|aflag
  217. *                        d1 = &resource
  218.         move.w    (sp)+,d2        d2 = dflag
  219.         
  220.         move.l    (sp),a0            a0 = &parmblk
  221.         movem.l    d0-d1,W_in(a0)        
  222.         move.w    d2,8(a0)
  223.         
  224.         move.w    #43,-(sp)
  225.         move.w    #-1,-(sp)
  226.         trap    #5
  227.         lea    -16(sp),sp
  228.         
  229.         move.l    (sp)+,_rts5
  230.         
  231.         rts
  232.  
  233.  
  234. _xes50
  235. *    xes_chrsrc(treenum,&parmblk)
  236. *
  237.         move.l    (sp)+,_rts5
  238.         
  239.         move.w    (sp)+,d0        d0 = treenum
  240.         
  241.         move.l    (sp),a0            a0 = &parmblk
  242.         move.w    d0,W_in(a0)
  243.         
  244.         move.w    #50,-(sp)
  245.         move.w    #-1,-(sp)
  246.         trap    #5
  247.         subq.l    #6,sp
  248.         
  249.         move.l    _rts5,-(sp)
  250.         
  251.         rts
  252.  
  253.  
  254. _xes64
  255. *     xes_stredit(handle,&resource,index,ch,curspos,&parmblk)
  256. *
  257.         move.l    (sp)+,_rts5
  258.  
  259.         movem.l    (sp)+,d0-d2        d0-d2 = all params
  260.  
  261.         move.l    (sp),a0            a0 = &parmblk
  262.         movem.l    d0-d2,W_in(a0)
  263.  
  264.         move.w    #64,-(sp)
  265.         move.w    #-1,-(sp)
  266.         trap    #5
  267.         lea    -16(sp),sp
  268.         
  269.         move.l    _rts5,-(sp)
  270.  
  271.         rts
  272.  
  273.  
  274. _xes65
  275. *    xes_xformdo(handle,&resource,index,&parmblk)
  276. *
  277.         move.l    (sp)+,_rts5
  278.         
  279.         movem.l    (sp)+,d0-d1        d0-d1 = all params
  280.         
  281.         move.l    (sp),a0
  282.         movem.l    d0-d1,W_in(a0)
  283.         
  284.         move.w    #65,-(sp)
  285.         move.w    #-1,-(sp)
  286.         trap    #5
  287.         lea    -16(sp),sp
  288.         
  289.         move.l    _rts5,-(sp)
  290.         
  291.         rts
  292. ********************************************************************************
  293.     SECTION BSS
  294. _rts5    ds.l    1
  295. ********************************************************************************
  296.  
  297.